The present invention relates generally to data communications, and more particularly to an adaptive modem.
The widespread use of data networks (e.g., the Internet) has increased the deployment of modems (modulator/demodulator). Modems are well known in the art, and generally function to modulate and demodulate digital signals so that they may be transmitted via analog communication channels. One of the most popular uses for a modem is to allow end users to connect to the Internet from their homes via the public switched telephone network (PSTN).
Upon startup, modems enter a training mode of operation during which a communication link is established with another modem device. In general, training is performed in order to determine the characteristics of the communication line (i.e., communication channel) and to optimize the subsequent data mode during which data is communicated between the modems. In a modem operating in accordance with the International Telecommunications Union (ITU) V.90/V.92 standard, there are 4 training phases as follows.
During phase 1 training, the client modem obtains a dial tone, calls the remote modem, and the two modems exchange basic information such as the modem standards that are supported by the modems. If both modems support V.92, then the client modem detects whether the current communication line is the same as a previously used communication line by an analysis of the ANSpcm signal (as defined in the ITU-T V.92 standard) transmitted by the remote modem. If the communication line is the same, then the client modem may utilize a fast connection feature in which certain of the phase 3 training steps are shortened or omitted in order to speed up the initialization process.
During phase 2 training the local parameters for V.90/V.92 (e.g., symbol rate, maximum transmission power, A-law or μ-law codec) are exchanged between the client and remote modems.
Phase 3 training consists of training the modem equalizer and echo canceller, timing recovery and digital impairment learning (DIL), in order to detect and compensate for network impairments and distortions.
During phase 4 training, conventional modems estimate the training mode mean square error (MSE) and then estimate the relationship between the training mode MSE and the data mode MSE. The estimation of data mode MSE based only on training data is difficult because the relationship between the training mode MSE and the data mode MSE is unknown and different for varying communication line conditions. The conversion of the training mode MSE into an estimated data mode MSE is usually performed using a multiplication factor. The estimated data mode MSE is then used as the data mode noise level for constellation design.
As is well known, a pulse code modulation (PCM) signal constellation consists of a set of real-valued signal points which lie on an 1-dimensional grid. During the data mode, user data is encoded into constellation points and one constellation point is transmitted during each symbol period. Since the V.90/V.92 symbol rate is fixed at 8K samples per second, the more levels used in the constellation, the higher the data rate. Thus, PCM signal constellation design is an important part of the training mode for a V.90/V.92 modem because the constellation design has a significant impact on the modem data rate. More particularly, a V.90/V.92 PCM modem transmits a PCM level as a symbol signal at a rate of 8000 symbols per second. This means that every 1/8000 second the modem transmits one symbol signal representing a digital code. Mathematically, all of the possible symbol signals could be expressed in math space. In signal space, every signal has a unique point position, and any two signals have a distance between them. The greater the distance between signal points, the easier to distinguish between them, which allows for more reliable signal detection and a resultant lower bit error rate. However, there is a tradeoff, because the greater the distance between signal points, the less total available signals that can be used in the signaling constellation, and therefore the lower the data rate. Thus, determining the minimal signal distance is important to achieve a high data rate for a given communication line. Existing modems only make a rough estimate of the best minimal signal distance to achieve the best data rate in data mode because, as described above, the data rate is determined solely during the training mode without using any actual data mode information.
The above described modem training procedures are performed each time a modem is initialized. Such training procedures are time consuming and do not always result in optimized data rates for a particular communications channel.
What is needed is an improved modem training technique which can decrease required training time while at the same time improve training results.